#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#define USER "USER"
#define MY_ENV "myval"
#define MYPWD "PWD"

//ls -a -b -c  命令行解释器会把这串长字符分割成
//“ls" "-a" " -b" "-c"存在指针数组里面，调用是由shell和系统来做的


//int main(int argc,char *argv[],char* env[])
int main()
{
  extern char** environ;
  //environ是一个二级指针，指向env[i]
  for(int i=0;environ[i];i++)
  {
    printf("%d:%s\n",i,environ[i]);
  }

  //printf("%s\n",getenv("PATH"));


 
  //for(int i=0;env[i];++i)
  //{
  //  printf("env[%d]:%s\n",i,env[i]);
  //}


  // ./mycmd -a/-b /ab等，表示必须输入两个命令
 //  if(argc != 2)  
 //  {
 //       printf("Usage: \n\t%s [-a/-b/-c/-ab/-bc/-ac/-abc]\n", argv[0]);
 //       return 1;
 //   }
 //   if(strcmp("-a", argv[1]) == 0)
 //   {
 //       printf("功能a\n");
 //   }
 //   if(strcmp("-b", argv[1]) == 0)
 //   {
 //       printf("功能b\n");
 //   }
 //   if(strcmp("-c", argv[1]) == 0)
 //   {
 //       printf("功能c\n");
 //   }
 //   if(strcmp("-ab", argv[1]) == 0)
 //   {
 //       printf("功能ab\n");
 //   }
 //   if(strcmp("-bc", argv[1]) == 0)
 //   {
 //       printf("功能bc\n");
 //   }


 // for(int i=0;i<argc;i++)
 // {
 //   printf("argv[%d]->%s\n",i,argv[i]);
 // }
 



  //printf("%s\n",getenv(MYPWD));
  
  //char* myenv=getenv("myval");
  //if(NULL==myenv)
  //{
  //  printf("%s,not found\n",MY_ENV);
  //  return 1;
  //}
  //printf("%s=%s\n",MY_ENV,myenv);
  


  //获取当前用户
  //char *who = getenv(USER);
  //if(strcmp(who,"root")==0)
 // {
         
 //     printf("user: %s\n",who);
 //     printf("user: %s\n",who);
 //     printf("user: %s\n",who);
 //     printf("user: %s\n",who);
 //     printf("user: %s\n",who);
 // }
 // else{

 //     printf("权限不足\n");
 // }

  return 0;
}
